在 Python 中,對於資料的各式操作離不開 NumPy,已經可以說是陣列操作的同義詞,連在 NumPy 之後發展出來的 Pandas 也有他的影子。NumPy 可以用於對陣列或矩陣進行加工變化,例如:split(切割)、reshape(重塑)、join(串接)等。
作圖之前,先下載或是匯入 Python 的套件 Matplotlib。本文會以 Matplotlib 工具將資料視覺化。Matplotlib 係為一個建立在 NumPy 裡的繪圖庫,語法和 MATLAB 類似,提供資料呈現的多元方式。
比起 R 語言中的 ggplot 或 ggvis,雖然 Matplotlib 對客製化的資源較少,但它還是可以在不同的作業系統監工作,並支援更多後端與輸出方式。
在使用 Matplotlib 函數繪圖時,若遇到函數使用上的困難,除了可以上網找尋網友解答外,還可以在 Matplotlib 範例說明網站 上找群相似的繪圖例子,得到解答。
Matplotlib 以界面之型式可分作下列 2 類,或是可以理解為有 2 種繪圖方式。建議在繪圖之前,花些時間評估想要畫的圖片特性,挑選合適的界面來作圖。
Matplotlib 原本為作為 MATLAB 使用者的 Python 選擇而生,它在程式與法方面與 MATLAB 非常相。Matplotlib 的 MATLAB 型式工具語法包括 pyplot.plot(*)
界面。此界面不具狀態,所以指令被存在 plt.figure(*)
當中,保持目前指令對圖表或軸的追蹤。而這種界面有一缺點:如果在已經建立一張圖的情況下,還想在前面加上一點東西時,會比較複雜。
物件導向式界面,作圖時會先定出 Axes(軸) 與 Figure,其後 ax
開頭之指令就是把想要加上去的東西方到軸上。相較於 MATLAB 型式界面,物件導向式界面更擅長應付更為複雜的情況,也可以對圖表進行更多控制及變化。
下篇文章將會介紹如何使用 Matplotlib 進行數學函數作圖,還有作圖時需要注意的事項。